The present invention relates to the generation of graphical images for graphical operation of a visual display device of, for example, a computer system and, more particularly, to a method and apparatus for clipping that portion of text or other source data not to be written.
It is not unusual in computer operations for it to be desired to prevent generation of a portion of an image while another portion of the same image may be generated. For a typical user, an example is provided by overlay windows on a display screen of a computer system. With most systems, the user can only provide input to the overlay window, i.e., the foremost window open on the screen. This input may extend beyond the borders or boundary of the window. However, only that portion of the text or other image shown in the window is displayed. In other words, text and other image drawing operations sometimes require that portions of the text or other object and its background lying outside of a clipping region not be drawn. (The term "image" is used herein to refer to visual images which are not necessarily images of existing objects.)
Typical approaches require range comparison of the addresses of the data to be written with the clipping region. If the addresses fall outside of the clipping region, then the data is not written. Prior art methods for controlling clipping based on a clipping region, expand the source data for the object and/or its background regardless of whether it is or is not for a portion that ultimately will be written. For example, if a text is to be displayed in color, monochrome source data identifying the fonts of the alphanumeric characters is expanded to define each character in color. Doing so, though, for that portion of the text or other image to be clipped results in wasted timing cycles and consequent delays. These prior art approaches are particularly problematic if the drawing arrangement operates with linear addresses rather than being based on an X/Y coordinate system. When a linear address arrangement is used, additional address variables that define the clipped address range must be calculated for each scan line. It would, of course, be desirable to avoid having to produce such additional address variables.